package lambda03;

import org.junit.Test;

/**
 * Lambda表达式格式与使用
 *  interface 接口名{
 *      返回值类型 方法名(形参列表);//接口中唯一一个抽象方法
 *  }
 *  一.完整格式
 *     (参数类型1 参数名1,参数类型2 参数名2,...)->{语句1;语句2;...}
 *     ():小括号中的 参数类型 参数名对应接口中抽象方法的形参列表
 *        如果接口中的抽象方法形参列表为空,那么Lambda表达式的小括号就写 ()
 *     {}:大括号中的语句相当于是实现了该接口中抽象方法的语句
 *
 */
public class LambdaDemo03 {
	@Test
	public void test01() {
		method("你好Lambda表达式",(String str)->{
			System.out.println(str);
		});
	}
	public void  method(String str,Printer p) {
		p.print(str);
	}


	@Test
	public void test02() {
		method02(3,12,(int a,int b)->{return a+b;});
	}

	public void method02(int a,int b,Calculator c) {
		int sum = c.getSum(a, b);
		System.out.println(sum);
	}
}
